如果有一個很大串的程式頻繁複使用,
可以使用Function將他包起來,
以後需要使用到這串程式時就可以呼叫它,
既可以保持程式簡潔、好維護管理,
Function的宣告方式如下:
func 函數名稱() {
// 程式碼
}
使用函數的方式相當簡單,程式範例如下:
package main
import ("fmt")
//自訂的函數
func myfunc() {
fmt.Println("我好帥喔~~~!")
}
func main() {
myfunc() //呼叫myfunc函數
}
執行結果:
我好帥喔~~~!
如果重複呼叫也是可行的,程式範例如下:
package main
import ("fmt")
func myfunc() {
fmt.Println("我好帥喔~~~!")
}
func main() {
myfunc()
myfunc()
}
執行結果:
我好帥喔~~~!
我好帥喔~~~!
函數也可以接受參數傳入,宣告方式如下:
func 函數名稱(參數1 型態,參數2 型態,參數3 型態...) {
// 程式碼
}
範例如下:
package main
import ("fmt")
func myfunc(name string, num int) {
fmt.Println(name,"好帥喔~~~!率度為", num)
}
func main() {
myfunc("JIMMY",10000) //傳入兩個參數
}
執行結果:
JIMMY 好帥喔~~~!率度為 10000
如果函數有回傳值,宣告方式如下:
func 函數名稱(參數1 型態,參數2 型態,參數3 型態...)(型態,型態...) {
// 程式碼
return 回傳值1,回傳值2...
}
範例如下:
package main
import ("fmt")
//傳入兩個參數、回傳兩個值
func myfunc(name string, num int) (string , int){
txt1 := name+"好帥喔~~~!"
num1 := num*10
return txt1, num1
}
func main() {
a, b :=myfunc("JIMMY",10000) //傳入兩個參數、回傳兩個值
fmt.Println(a,"率度為", b)
}
執行結果:
JIMMY好帥喔~~~! 率度為 100000